!function() {
        function d(b, c) {
            b = $(b), b.css({
                overflow: "hidden",
                position: "relative"
            }), $.extend(this, {
                content: "ul",
                item: "li",
                loop: !0,
                speed: 300,
                duration: 3000
            }, c);
            var i = $(this.content, b),
                j = $(this.item, b);
            i.css({
                position: "relative",
                width: "100%"
            });
            for (var k = 1, l = j.length; l > k; k++) {
                $(j[k]).css({
                    position: "absolute",
                    width: "100%",
                    top: 0,
                    left: 100 * k + "%"
                })
            }
            this.elem = b, f.call(this, j.length), this.loop && $(j.first().clone()).css({
                position: "absolute",
                width: "100%",
                top: 0,
                left: 100 * j.length + "%"
            }).appendTo(i),
                this.content = i, this.index = 0, this.length = j.length,
                this.to(this.active ? this.active : 0), e.call(this), this.start()
        }
        function e() {
            var b = this;
            this.elem.on("touchstart", function(a) {
                var g = a.originalEvent.changedTouches[0];
                b._startLocation = {
                    x: g.pageX,
                    y: g.pageY
                }, b._isStart = !1
            }).on("touchmove", function(a) {
                if (!(a.originalEvent.changedTouches.length > 1 || a.scale && 1 !== a.scale)) {
                    var g = a.originalEvent.changedTouches[0],
                        h = g.pageX - b._startLocation.x;
                    if (b._isStart || (b._isStart = Math.abs(h) > Math.abs(g.pageY - b._startLocation.y)), b._isStart) {
                        a.preventDefault(), clearTimeout(b.timer);
                        var i = b.index,
                            j = b.elem.width();
                        b.loop ? 0 === b.index && h > 0 && (i = b.length) : h /= 0 === b.index && h > 0 || b.index == b.length && 0 > h ? Math.abs(h) / j + 1 : 1, b.content.css({
                            "margin-left": -100 * (i - h / j) + "%"
                        }), b._distX = h
                    }
                }
            }).on("touchend touchcancel", function(a) {
                b._isStart && (b._distX < 0 ? (a.preventDefault(), b.next()) : (a.preventDefault(), b.previous(!0)))
            })
        }
        function f(g) {
            for (var h = '<span class="indicator">', i = 0; g > i; i++) {
                h += "<i></i>"
            }
            h += "</span>", this.elem.append(h);
            var j = $(".indicator", this.elem);
            j.css({
                "margin-left": -j.width() / 2 + "px"
            }), this.indicators = $("i", j), $(this.indicators[0]).addClass("active")
        }
        $.fn.slider = function(a) {
            for (var g = [], h = 0, i = this.length; i > h; h++) {
                g.push(new d(this[h], a))
            }
            return 1 === g.length ? g[0] : g.length > 1 ? g : void 0
        }, d.prototype.to = function(c) {
            this.stop();
            var g = this;
            this.content.animate({
                "margin-left": -(100 * c) + "%"
            }, this.speed, "swing", function() {
                c === g.length && (g.content.css({
                    "margin-left": "0%"
                }), c = 0), g.index = c, $(g.indicators.removeClass("active")[c]).addClass("active")
            })
        }, d.prototype.previous = function(c) {
            if (!this.loop && 0 === this.index) {
                return void this.to(this.index)
            }
            var g = this.index - 1;
            0 === this.index && (g = this.length - 1, c || this.content.css({
                "margin-left": -100 * this.length + "%"
            })), this.to(g), this.start()
        }, d.prototype.next = function() {
            return this.loop || this.index !== this.length - 1 ? (this.to(this.index + 1), void this.start()) : void this.to(this.index)
        }, d.prototype.start = function() {
            var b = this;
            this.timer = setTimeout(function() {
                b.next()
            }, this.duration)
        }, d.prototype.stop = function() {
            clearTimeout(this.timer)
        }
    }();